커스텀 폰트 사용하기 :: 안드로이드 설치 및 개발[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

안드로이드 설치 및 개발
[1]
등록일:2018-07-15 15:44:24 (0%)
작성자:
제목:커스텀 폰트 사용하기

이놈의 ㅈ같은 안드로이드는 하위호환이 개판이라, 수년, 혹은 수 달 전에 적힌 타 블로그 글들도 현재 기준으로는 와장창 크러쉬나는 경우가 너무 허다하다.

내 블로그도 1년 뒤에 크러쉬가 나는 글도 많지 않을까 싶네. 흑...



일단, 그래도 이건 안드로이드 외부 라이브러리를 다 크러쉬내고 기본 기능으로 추가된 것이기 때문에, 아마 가장 안전하지 않을까 기대해 본다.

확신할수 없는건 이 망할 안드로이드 놈들은 지들끼리도 크러쉬를 내기 때문에 ㅠㅠㅠㅠㅠ




일단 시작한다.

먼저 선행조건이 있는데, minSdk가 16이어야 한다. 걔들부터 지원한다고 나오더라.


그리고 support libray는 26 이상이어야 한다.

26에서 추가된 기능이기 때문에 당연하다.

 


dependencies의 support:appcompat-v7:26.1.0 이 버전이다.

타겟 sdk는 크게 상관 없을것 같다.



그럼 이제 커스텀 폰트 사용 방법이다.

먼저 커스텀 폰트를 넣어야 하는데, typekit 때와는 다른 곳에 넣는다.


 


assert 가 아니라 res/font 안에 넣는거다.

여기에 원하는 폰트들을 넣으면 되는데, 유의할 점은 대문자를 써서는 안된다. 안드로이드 리소스 규약이다.


그후에 각각의 폰트마다 xml 파일을 만들어야 하는데, 이때 실제로 사용되는 이름은 이 xml 파일이며 폰트의 이름과는 같을수 없다.


nanum.xml

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
    <font
        android:fontStyle="normal"
        android:font="@font/nanumgothic"
        app:fontStyle="normal"
        app:font="@font/nanumgothic"
        />
 
</font-family>
cs


위와 같은 식으로 작성된다. android 와 app을 둘다 적는 것은 하위호환을 위해서다.(라고 한다)


 


xml에서는 위와 같이 사용한다.

airal이 왠지 디폴트와 비슷해 보이지만 잘 모르겠다. 일단 적용은 되고 있는것으로 보인다.




사용법은 간단하지만, 중요한 것은 역시 전체 일괄 적용이다.

어느 천년에 수백개가 넘는 뷰들에 폰트를 일일히 쓰고 앉아있겠는가?


style.xml로 가자.

 


이런식으로 일괄 적용할 폰트를 정해준다.

그러면 따로 fontfamily를 지정하지 않은 모든 뷰들에 nanum 폰트가 적용된다.


물론 manifast의 theme 에 적혀있는 테마를 사용해야 한다.



아, 원리는 전혀 모르겠지만 bold 적용에는 문제가 없다.

아니 그럼 bold 폰트 왜 따로 있는건데.


솔직히 typekit보다 쉽네 이거.

나 왜 고생?


이걸 쓰니까 facebook 과 크래쉬도 안난다.


[본문링크] 커스텀 폰트 사용하기
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34722
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.